//
// The worm-epidemic state of an AS
//
// @author Michael Liljenstam, ISTS, Dartmouth College
//
// $Id: WormEpidemicState.java,v 1.1 2003/02/27 22:41:25 mili Exp mili $

package SSF.App.Worm;

//.............................................................
/**
 *  Worm epidemiological state/model of one AS. Abstract base class for 
 *  implementations of the epidemic model.
 */
public abstract class WormEpidemicState {

    protected AS myAS;

    // epidemiological worm model state
    /** Total number of hosts in this network. */
    public int N;
    /** Susceptible hosts. */
    public float s;
    /** Infected hosts. */
    public float i;
    /** Recovered hosts. */
    public float r; 

    public WormEpidemicState(AS _myAS) {
	myAS = _myAS;

        N = 0;
	s = 0;
	i = 0;
	r = 0;
    }

    /**
     *  One timestep.
     */
    abstract public void update(float iTot);

} // class WormEpidemic


